万卷网> GESP认证 >Python > 2025年12月CCF—GESP(Python二级)编程能力等级认证试卷

2025年12月CCF—GESP(Python二级)编程能力等级认证试卷
二级 2025 2026-07-16 18:43:56 117

一、单选题

1.

下面有关Python变量的说法,正确的是( )。

A.

不可以用 for 作为变量名,因为 for 是Python的关键字(保留字)。

B.

_tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母。

C.

_tnt_ 不可以是变量名,因为最后一个字符容易与减号混淆。

D.

可以用 print 作为变量名,因为 print 是关键字,但这不是好习惯,因为 print 有约定的功能与含义。

2.

下面Python代码执行后输出是( )。

num = 0
while num <= 5:
    num += 1
    if num % 3:
        continue
    print(num, end='#')
else:
    print(num)
A.

3#6#

B.

3#6#6

C.

1#2#3#4#5#6#

D.

1#2#3#4#5#6#6

3.

某学校举办“十佳歌手大奖赛”,经过选拔最终参赛选手有25人,评委10人,最终计分规则去掉一个最高分 去掉一个最低分作为该参赛选手的最终得分,并输出该得分。每位评委都必须打分,且分数都大于等0。相关说法正 确的是( )。

for _ in range(25):
    max_score = 0 #记录最高分
    min_score = 9999 #记录最低分
    total_score = 0 #记录总分
    for _ in range(10):
        now_score = float(input()) #录入评委打分
        if now_score > max_score:
            max_score = now_score
        if now_score < min_score:
            min_score = now_score
        total_score += now_score
    print(total_score - max_score - min_score)
A.

程序总体逻辑错误。因为要去掉最高分和最低分,需要排序,而程序没有相关代码。

B.

内层循环和外层循环之间的三行代码也就是 max_score = 0 开始的三行代码应该移动到外层循环外。

C.

if now_score > max_score 和 if now_score < min_score 中的 > 和 < 分别调整为 >= 和 <= 不

影响程序执行结果。

D.

total_score += now_score 不可以更改为 total_score = total_score + now_score 。

4.

某单位工号的编码规则:编码总长5位,均为数字,前4位依次整除以3,其值累加之和除以10的余数为第5位 数字。如某工号为76587,前4位分别整除3后,商分别为2、2、1、2,其累加之和为7,除以10的余数为7,故第5位 为7。下面的程序依次输入前4位数字,并计算输出最后一位。程序逐行输入前4位数字,要输出第5位数字。则在横 线处应填上的代码是( )。

for _ in range(25):
    max_score = 0 #记录最高分
    min_score = 9999 #记录最低分
    total_score = 0 #记录总分
    for _ in range(10):
        now_score = float(input()) #录入评委打分
        if now_score > max_score:
            max_score = now_score
        if now_score < min_score:
            min_score = now_score
        total_score += now_score
    print(total_score - max_score - min_score)
A.

N % 3

rst // 10

B.

N // 3

rst % 10

C.

N % 3

rst % 10

D.

N // 3

rst // 10

5.

与下面Python输出效果不一致的代码是( )。

for i in range(10): 
	print(i
A.
i = 0
while i < 10:
	print(i)
	i += 1
B.
i = 0
while i < 10:
	i += 1
	print(i)
C.
i = 0
while True:
	print(i)
	i += 1
	if i >= 10:
			break
D.
i = 0
while True:
	if i >= 10:
		break
	print(i)
	i += 1
6.

下面的Python代码执行之后的输出是( )。</p>

for i in range(-2, 2):
	if i % 2:
		print(i, end = "#")
A.

-1#1#

B.

-1#0#1#

C.

-2#-1#1#2#

D.

-2#-1#0#1#

7.

小杨最近为了备考GESP,开始看网络上关于网络知识的视频。其中提到计算机网络系统有不同的划分标 准,其中之一就是按照地理覆盖的范围来划分。那他平时上学所在的教学楼内的网络是一个( )。

A.

PAN

B.

LAN

C.

MAN

D.

WAN

8.

下面的Python代码执行后其输出是(  )。

cnt = 0
for i in range(1, 10, 2):
	for j in range(i):
		cnt += 1
print(cnt)
A.

100

B.

55

C.

45

D.

25

9.

下面Python代码执行后其输出是( )。

for i in range(1, 12):
    if i % 2 == 0:
        continue
    for j in range(i):
        if i * j % 2 == 0:
            break
        else:
            print(i * j, end=" ")
    else:
        print(i * j)
A.

0 0

B.

11

C.

0

D.

0 11

10.

某同学执行Python代码 print(3 + 3.14) 时输出 6.140000000000001 ,其原因是( )。

A.

Python中整数和浮点数相加时,整数会被转换为浮点数,而某些十进制小数如 3.14 无法用有限位二进制精确

表示,从而产生微小的舍入误差。

B.

Python的 print 函数在输出浮点数时有默认小数点位数,因此输出了更多位数。

C.

3.14 是一个无限循环小数,在计算机中无法精确表示。

D.

由于计算机CPU的运算错误导致。

11.

下面Python代码执行后,其输出是( )。

cnt = 0
for i in range(5):
	for j in range(i,4):
		cnt += 1
print(cnt)
A.

9

B.

10

C.

14

D.

20

12.

漂亮数的定义是:如果N能被M整除,或者某位是M,或者N的每位数之和能被M整除,则说N是M的漂亮 数。如果三个条件都满足,则是完整漂亮数。123是3的完整漂亮数,因为123能被3整除,也含有3,其每位数之和为 6也能被3整除。下面的代码用于判断N是否为M的完整漂亮数并输出。相关说法正确的是( )。

N = int(input("请输入N,N必须是0或正整数:"))
M = int(input("请输入M:M必须大于1小于等于9:"))
Sum = 0 #记录各位数之和
Flag = False #记录N是否含有M
while N != 0:
    num = N % 10
    Sum += num
    if num == M:
        Flag = True
    N //= 10
if (N % M == 0) and (Flag == True) and (Sum % M == 0):
    print(f"{N}是{M}的完整漂亮数")
else:
    print(f"{N}不是{M}的完整漂亮数")
A.

代码能完成题目设定目标。

B.

在 while 循环中 N 最终将变成0,因为代码 N % M 将总是满足条件,可以在 while 前增加一行代码 old_num = N ,并将 N % M 改为 old_num % M ,随后 print() 中的 {N} 改为 {old_num} 。

C.

while 循环中 if 判断语句可以增加 else 子句,其内容为 Flag = False 。

D.

如果先后输入 0 和 3 ,则肯定会输出 0是3的完整漂亮数 。

13.

一个无限循环小数是 0.123123123……,其小数点后第1位是1,后第2位是2,后第3位是3,后第4位是1,依 此类推,求第N位。横线处应填入的代码是( )。

N = int(input())
remainder = N % 3
if remainder == 0:
    print(1)
elif remainder == 1:
    print(2)
else:
    print(3)
A.

N % 3

B.

(N - 1) % 3

C.

N // 3

D.

(N - 1) // 3

14.

阅读下面的Python代码。执行后如输入 5 ,其输出的字符图形是( )。

n = int(input())
for i in range(n):
    for j in range(n - i - 1):
        print(" ", end="")
    for k in range(2 * i + 1):
        print("*", end="")
    print()
A.
*****
 ****
  ***
   **
    *
B.
    *
   ***
  *****
 *******
*********
C.
*
**
***
****
*****
D.
    *
   **
  ***
 ****
*****
15.

近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软 件。空客表示,在对一起飞行事故进行分析后,表明强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导 致判断失误,进而可能引发飞行异常。在这里的飞行控制系统中,执行判断的部件最可能是下面的( )。

A.

辐射传感器

B.

处理器

C.

内存单元

D.

输出设备

二、判断题

1.

鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( )

A.正确 B.错误
2.

下列Python代码执行后将输出 55 。

cnt = 0
for i in range(10):
	for j in range(i,10):
		cnt += 1
print(cnt)
A.正确 B.错误
3.

下面的Python代码可以用于判断正整数N的位数(即几位数,如 123 是 3 位数, 12 为 2 位数)。

N = int(input())
i = 1
while True:
	if N % (10 ** i) == N:
		print(f"{N}是{i}位数")
		break
	i += 1
A.正确 B.错误
4.

下面Python代码执行后输出如下,因为代码 print() 的括号中没有任何内容,删除不影响输出效果。( )

for i in range(1,10):
	for j in range(1,10):
		print(f"{i*j:3}",end="")
	print()
A.正确 B.错误
5.

下面的Python代码执行后,其输出是 4 False 。( )

a = 4
b = a == 5
print(a, b)
A.正确 B.错误
6.

Python表达式 10 ** 0.5 == 10 ** 1 / 2 的值为 False 。( )

A.正确 B.错误
7.

计算交叉加减的结果,形如 1-2+3-4+5-…… 。将下面Python代码中的 Flag = -Flag 改为 Flag -= Flag 效果相同。( )

N = int(input()) 
Flag = -1 tnt = 0 for i in range(1, N + 1): 
	Flag = -Flag 
	tnt += Flag * i 
print(tnt)
A.正确 B.错误
8.

Python表达式 5 < 10 and 20 的值为 True 。( )

A.正确 B.错误
9.

下面Python代码执行时如果输入整数(包括负整数、 0 和正整数),其输出都将是 0 。 ( )

N = int(input()) 
while N: 
	N //= 10
print(N)
A.正确 B.错误
10.

下面Python代码执行后将输出 5 。

i = 0
while i < 5:
	i += 1
	continue
print(i)
A.正确 B.错误

三、编程题

1.

环保能量球

题目描述

小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。

为了激励玩家,游戏设置了“里程奖励”:小杨每行走 公里,游戏就会额外奖励 1 点能量。

现在已知小杨总共行走了 公里,请你帮他计算,他一共能获得多少点环保能量?

输入格式

第一行包含一个正整数 ,代表测试数据组数。

对于每组测试数据:

第一行包含一个正整数 ,代表行走的公里数。

第二行包含一个正整数 ,代表奖励触发的间隔。

输出格式

对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。

样例

输入样例

3 5 2 10 3 2 5

输出样例

7
13
2

对于第 1 组数据, n=5,x=2:小杨行走获得 5 点能量。此外,他在第 2 公里和第 4 公里时各获得 1 点额外奖励,总共5+2=7点。

对于第 2 组数据, n=10,x=3 :行走获得 10 点。他在第 3、6、9 公里时各获得 1 点额外奖励,总共 10+3=13点。

对于第 3 组数据, n=2,x=5:行走获得 2 点。由于行走路程不足 5 公里,没有额外奖励,总共 2 点。

数据范围

对于全部数据,保证: 1 ≤ t ≤ 10,1 ≤ n,x ≤ 1000。

2.

黄金格

公众号
客服 反馈
顶部